#绘制图片分辨率散点图
import csv
import numpy  as np
import matplotlib.pyplot as plt
from pylab import mpl
mpl.rcParams['font.sans-serif']=['SimHei'] #黑体
mpl.rcParams['axes.unicode_minus']=False

my_file = open('pixel.csv')  # 打开所需要绘图的源csv文件
my_reader = csv.reader(my_file)  # 读取csv文件
my_data = list(my_reader)  # csv数据转换为列表

rows = len(my_data)  # 得到数据行数
col = len(my_data[0])  # 得到每行长度
print(rows)
print(col)

width = list()
height = list()

for i in range(0, rows-1):  # 从第1行开始读取
    width.append(my_data[i][1])  # 将第2列数据从第1行读取到最后一行赋给列表x,第二列是人脸的宽度值width
    height.append(my_data[i][0])  # 将第列数据从第1行读取到最后一行赋给列表，第一列是人脸的高度值height

#plt.plot(x, y)  # 绘制x,y的折线图
plt.scatter(width,height)#绘制散点图
plt.axis([20,80,20,100])
plt.xlabel("Width of Detected Face")
plt.ylabel("Height of Detected Face")



np.random.seed(19680801)  # seed the random number generator.
data = {'a': np.arange(50),'c': np.random.randint(0, 50, 50),'d': np.random.randn(50)}
data['b'] = data['a'] + 10 * np.random.randn(50)
data['d'] = np.abs(data['d']) * 100

fig, ax = plt.subplots(figsize=(5, 5), layout='constrained')
ax.scatter(width, height, c='c', s=20)

plt.figure(figsize=(6,6))
# 演示axis()返回值

# axis()接受一个4元序列
plt.axis([40, 80, 100, 40])
plt.subplot()

plt.scatter(width, height)
# xis()接受关键字参数，这里指定了3个，另外1个自动确定
plt.axis(xmin=40, xmax=80, ymin=40,ymax=100)
plt.show()